home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / pctekap1.arc / ENVIRON.PAS < prev    next >
Pascal/Delphi Source File  |  1986-03-15  |  1KB  |  51 lines

  1. (*$INCLUDE:'environ.int'*)
  2.  
  3. implementation of environment;
  4.  
  5. var
  6.  
  7. CESXQQ [extern]    : word;
  8. environmentaddress : ads of word;
  9. environment        : ads of string(32767);
  10.  
  11. procedure getparameter;
  12.  
  13. var I,L,N,P,M:integer;
  14. var copy:lstring(255);
  15. var found:boolean;
  16.  
  17. begin
  18.   I := 1;
  19.   N := ord(name[0]);
  20.   M := upper(parameter);
  21.   found := false;
  22.  
  23.   repeat
  24.     L := scaneq(32767,chr(0),environment^,I);
  25.     if (L > N) and (environment^[I+N] = '=') then
  26.       begin
  27.         copy[0] := chr(N);
  28.         movesl (ads environment^[I],
  29.                 ads copy        [1], wrd(N));
  30.         if (name = copy) then
  31.           begin
  32.             P := L-N-1; if (P > M) then P := M;
  33.             parameter[0] := chr(P);
  34.             movesl (ads environment^[I+N+1],
  35.                     ads parameter   [1    ], wrd(P));
  36.             found := true;
  37.           end;
  38.       end;
  39.     if (L > 0) then I := I+L+1;
  40.   until found or (environment^[I] = chr(0));
  41.  
  42.   if not found then parameter[0] := chr(0);
  43. end;
  44.  
  45. begin
  46.   environmentaddress.S := CESXQQ;
  47.   environmentaddress.R := #2C;
  48.   environment.S := environmentaddress^;
  49.   environment.R := 0;
  50. end.
  51.